# setwd("~/My.Backtest/3.Option.Expiry")
options(digits=4)
require(ggplot2)
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 3.2.4
# source("C:/Users/Daniel.yang/Documents/R folder/backtest/functions.R")
source("../../../functions.R")
## Loading required package: reshape2
## Loading required package: grid
## Loading required package: gridExtra
## Warning: package 'gridExtra' was built under R version 3.2.4
file <- "./Equity.Index.csv"
ticker.file <- "./tickers.csv"
price <- load.factset.datadownloading(file, ticker.file)
ret <- log(price) - log(delay(price))
dates <- as.Date(rownames(price))
exp.dates <- spx.option.expiry.date(dates)
exp.dates <- exp.dates[exp.dates >= dates[1] & exp.dates <= tail(dates, 1)]
flag_event <- (rownames(price) %in% as.character(exp.dates))
pos_event <- which(flag_event)
agg.port <- ret
agg.port[] <- 0
ticker <- "TOPIX"
l_back <- -3
l_forward <- 3
s_back <- -7
s_forward <- -6
source("./show.pnl.script.R")
## [1] "hit ratio is 52.66%"
## year pnl
## 1 2006 73.42
## 2 2007 228.64
## 3 2008 227.79
## 4 2009 89.45
## 5 2010 -51.21
## 6 2011 59.01
## 7 2012 144.12
## 8 2013 194.98
## 9 2014 301.84
## 10 2015 -46.72
## 11 2016 280.78

ticker <- "Nikkei225"
l_back <- -3
l_forward <- 3
s_back <- -7
s_forward <- -6
source("./show.pnl.script.R")
## [1] "hit ratio is 54.61%"
## year pnl
## 1 2006 922.4
## 2 2007 1820.2
## 3 2008 2600.2
## 4 2009 1113.9
## 5 2010 -634.8
## 6 2011 603.5
## 7 2012 1976.1
## 8 2013 3312.6
## 9 2014 4026.7
## 10 2015 -252.0
## 11 2016 3608.4

ticker <- "KOSPI200"
l_back <- -3
l_forward <- -3
s_back <- 4
s_forward <- 5
source("./show.pnl.script.R")
## [1] "hit ratio is 56.57%"
## year pnl
## 1 2006 7.673
## 2 2007 11.301
## 3 2008 37.722
## 4 2009 29.743
## 5 2010 9.665
## 6 2011 18.955
## 7 2012 -1.879
## 8 2013 -5.795
## 9 2014 18.017
## 10 2015 19.616
## 11 2016 3.924

ticker <- "MSCI_Taiwan"
s_back <- -7
s_forward <- -4
l_back <- 0
l_forward <- 3
source("./show.pnl.script.R")
## [1] "hit ratio is 52.79%"
## year pnl
## 1 2006 18.965
## 2 2007 130.561
## 3 2008 -20.997
## 4 2009 58.179
## 5 2010 -34.037
## 6 2011 66.616
## 7 2012 9.331
## 8 2013 7.808
## 9 2014 46.233
## 10 2015 15.884
## 11 2016 -7.494

ticker <- "TAIEX"
s_back <- -7
s_forward <- -4
l_back <- 0
l_forward <- 3
source("./show.pnl.script.R")
## [1] "hit ratio is 53.25%"
## year pnl
## 1 2006 482.41
## 2 2007 3272.76
## 3 2008 -459.62
## 4 2009 1206.68
## 5 2010 -870.79
## 6 2011 1675.17
## 7 2012 183.94
## 8 2013 178.50
## 9 2014 1324.78
## 10 2015 296.20
## 11 2016 85.37

ticker <- "ASX200"
s_back <- -7
s_forward <- -4
l_back <- -3
l_forward <- 3
source("./show.pnl.script.R")
## [1] "hit ratio is 54.49%"
## year pnl
## 1 2006 511.516
## 2 2007 1327.744
## 3 2008 912.737
## 4 2009 -1.589
## 5 2010 -596.068
## 6 2011 138.917
## 7 2012 88.748
## 8 2013 178.599
## 9 2014 1043.255
## 10 2015 773.448
## 11 2016 653.338

ticker <- "HSI"
s_back <- -4
s_forward <- -4
l_back <- NULL
l_forward <- NULL
source("./show.pnl.script.R")
## [1] "hit ratio is 60.18%"
## year pnl
## 1 2006 -107.41
## 2 2007 206.32
## 3 2008 1921.37
## 4 2009 -52.91
## 5 2010 301.66
## 6 2011 4004.56
## 7 2012 -1150.63
## 8 2013 42.53
## 9 2014 734.20
## 10 2015 1394.19
## 11 2016 -390.81

ticker <- "HSCEI"
s_back <- -4
s_forward <- -4
l_back <- NULL
l_forward <- NULL
source("./show.pnl.script.R")
## [1] "hit ratio is 54.87%"
## year pnl
## 1 2006 -51.198
## 2 2007 10.967
## 3 2008 1499.972
## 4 2009 185.721
## 5 2010 226.617
## 6 2011 2255.430
## 7 2012 -476.362
## 8 2013 7.485
## 9 2014 389.957
## 10 2015 1211.374
## 11 2016 -276.902

ticker <- "IBOVESPA"
s_back <- 5
s_forward <- 5
l_back <- NULL
l_forward <- NULL
source("./show.pnl.script.R")
## [1] "hit ratio is 58.33%"
## year pnl
## 1 2006 -520.6
## 2 2007 3042.2
## 3 2008 6517.0
## 4 2009 3613.3
## 5 2010 797.9
## 6 2011 798.3
## 7 2012 1119.2
## 8 2013 3109.5
## 9 2014 5665.2
## 10 2015 4683.4
## 11 2016 733.4

# ticker <- "STOXX"
# s_back <- 5
# s_forward <- 5
# l_back <- 1
# l_forward <- 3
# source("./show.pnl.script.R")
ticker <- "FTSE100"
s_back <- 5
s_forward <- 5
l_back <- -1
l_forward <- 4
source("./show.pnl.script.R")
## [1] "hit ratio is 52.96%"
## year pnl
## 1 2006 77.45
## 2 2007 151.65
## 3 2008 766.20
## 4 2009 451.40
## 5 2010 -267.94
## 6 2011 221.13
## 7 2012 -316.15
## 8 2013 444.52
## 9 2014 482.32
## 10 2015 587.70
## 11 2016 547.63

ticker <- "DAX"
s_back <- 5
s_forward <- 5
l_back <- 1
l_forward <- 1
source("./show.pnl.script.R")
## [1] "hit ratio is 53.12%"
## year pnl
## 1 2006 -107.72
## 2 2007 282.26
## 3 2008 42.39
## 4 2009 134.58
## 5 2010 -166.95
## 6 2011 209.14
## 7 2012 -159.48
## 8 2013 128.78
## 9 2014 975.37
## 10 2015 686.76
## 11 2016 649.89

ticker <- "CAC40"
s_back <- 5
s_forward <- 5
l_back <- 1
l_forward <- 1
source("./show.pnl.script.R")
## [1] "hit ratio is 52.42%"
## year pnl
## 1 2006 -16.8304
## 2 2007 142.0861
## 3 2008 232.4655
## 4 2009 58.4485
## 5 2010 -140.4967
## 6 2011 -0.4166
## 7 2012 64.2504
## 8 2013 54.4473
## 9 2014 373.5772
## 10 2015 471.9652
## 11 2016 230.8156

ticker <- "AEX"
s_back <- 5
s_forward <- 5
l_back <- 1
l_forward <- 1
source("./show.pnl.script.R")
## [1] "hit ratio is 52%"
## year pnl
## 1 2006 -3.9666
## 2 2007 19.5212
## 3 2008 33.3910
## 4 2009 9.8225
## 5 2010 -18.0880
## 6 2011 -0.8552
## 7 2012 -8.2836
## 8 2013 3.9413
## 9 2014 27.1205
## 10 2015 40.5090
## 11 2016 25.1716

ticker <- "OBX"
s_back <- 5
s_forward <- 5
l_back <- 1
l_forward <- 1
source("./show.pnl.script.R")
## [1] "hit ratio is 53.36%"
## year pnl
## 1 2006 31.6189
## 2 2007 6.5407
## 3 2008 68.6627
## 4 2009 33.0004
## 5 2010 -36.4669
## 6 2011 8.4533
## 7 2012 -0.4387
## 8 2013 14.4021
## 9 2014 26.0630
## 10 2015 43.6656
## 11 2016 33.7771

ticker <- "SP500"
s_back <- 5
s_forward <- 5
l_back <- -4
l_forward <- 0
source("./show.pnl.script.R")
## [1] "hit ratio is 57.49%"
## year pnl
## 1 2006 81.88
## 2 2007 180.00
## 3 2008 88.10
## 4 2009 84.27
## 5 2010 61.40
## 6 2011 -171.29
## 7 2012 87.51
## 8 2013 63.74
## 9 2014 284.24
## 10 2015 74.99
## 11 2016 212.25

ticker <- "VX00"
s_back <- 0
s_forward <- 0
l_back <- 5
l_forward <- 5
source("./show.pnl.script.R")
## [1] "hit ratio is 61.65%"
## year pnl
## 1 2006 1.013
## 2 2007 7.196
## 3 2008 18.144
## 4 2009 2.799
## 5 2010 4.548
## 6 2011 -4.060
## 7 2012 8.233
## 8 2013 1.975
## 9 2014 6.009
## 10 2015 7.875
## 11 2016 7.425

ticker <- "SPGSCI_Gold"
s_back <- 2
s_forward <- 2
l_back <- -3
l_forward <- 1
source("./show.pnl.script.R")
## [1] "hit ratio is 56.8%"
## year pnl
## 1 2006 -25.17
## 2 2007 30.95
## 3 2008 120.46
## 4 2009 -15.70
## 5 2010 12.86
## 6 2011 127.94
## 7 2012 31.71
## 8 2013 64.04
## 9 2014 25.33
## 10 2015 112.86
## 11 2016 -13.15

ticker <- "VSTOXX"
s_back <- 1
s_forward <- 1
l_back <- -1
l_forward <- -1
source("./show.pnl.script.R")
## [1] "hit ratio is 60.13%"
## year pnl
## 1 2006 0.0000
## 2 2007 0.0000
## 3 2008 0.0000
## 4 2009 0.8790
## 5 2010 8.2729
## 6 2011 10.3782
## 7 2012 15.7466
## 8 2013 0.5662
## 9 2014 0.2462
## 10 2015 4.5740
## 11 2016 1.5996

plot <- show.pnl.gg(agg.port, ret, "aggregated portfolio", yearly.pnl=TRUE)
## year pnl
## 1 2006 1376
## 2 2007 10871
## 3 2008 14606
## 4 2009 7002
## 5 2010 -1394
## 6 2011 10021
## 7 2012 1616
## 8 2013 7803
## 9 2014 15750
## 10 2015 10126
## 11 2016 6385
